home *** CD-ROM | disk | FTP | other *** search
- // the implementation of class CSaveAsBitmapDialog
- // Copyright (C) 1997 Kazutaka Hirata <khirata@jove.acs.unt.edu>
-
- #include "stdafx.h"
- #include "kban.h"
- #include "dlgbmp.h"
-
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
-
- BEGIN_MESSAGE_MAP(CSaveAsBitmapDialog, CDialog)
- //{{AFX_MSG_MAP(CSaveAsBitmapDialog)
- ON_BN_CLICKED(IDC_BROWSE, OnBrowse)
- ON_BN_CLICKED(IDC_LDRILL_FLAG, OnLimitDrillFlag)
- ON_EN_CHANGE(IDC_DPI, OnChangeDpi)
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
-
- CSaveAsBitmapDialog::CSaveAsBitmapDialog(const SAVEASBMP_INFO& sbinfo, CWnd* pParent /*=NULL*/)
- : CDialog(CSaveAsBitmapDialog::IDD, pParent)
- {
- m_nDPI = sbinfo.m_dpi;
- m_szFname = sbinfo.m_fname;
- m_bLimitDrillFlag = sbinfo.m_limit_drill.get();
- m_nLimitDrillSize = sbinfo.m_limit_drill_size;
- m_bFill = sbinfo.m_fill.get();
- m_bHole = sbinfo.m_hole.get();
- m_bPCommon = sbinfo.m_layer[LAYER_PATTERN_COMMON].get();
- m_bPTop = sbinfo.m_layer[LAYER_PATTERN_TOP ].get();
- m_bPBottom = sbinfo.m_layer[LAYER_PATTERN_BOTTOM].get();
- m_bSTop = sbinfo.m_layer[LAYER_SILK_TOP ].get();
- m_bSBottom = sbinfo.m_layer[LAYER_SILK_BOTTOM ].get();
- }
-
- void CSaveAsBitmapDialog::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CSaveAsBitmapDialog)
- DDX_Check(pDX, IDC_HOLE, m_bHole);
- DDX_Check(pDX, IDC_FILL, m_bFill);
- DDX_Text(pDX, IDC_FNAME, m_szFname);
- DDX_Check(pDX, IDC_PBOTTOM, m_bPBottom);
- DDX_Check(pDX, IDC_PCOMMON, m_bPCommon);
- DDX_Check(pDX, IDC_PTOP, m_bPTop);
- DDX_Check(pDX, IDC_SBOTTOM, m_bSBottom);
- DDX_Check(pDX, IDC_STOP, m_bSTop);
- DDX_Check(pDX, IDC_LDRILL_FLAG, m_bLimitDrillFlag);
- DDX_Text(pDX, IDC_DPI, m_nDPI);
- DDX_Text(pDX, IDC_LDRILL_SIZE, m_nLimitDrillSize);
- //}}AFX_DATA_MAP
- }
-
- CEdit& CSaveAsBitmapDialog::ctlFname()
- {
- return *(CEdit*)GetDlgItem(IDC_FNAME);
- }
-
- CButton& CSaveAsBitmapDialog::ctlLimitDrillFlag()
- {
- return *(CButton*)GetDlgItem(IDC_LDRILL_FLAG);
- }
-
- CEdit& CSaveAsBitmapDialog::ctlLimitDrillSize()
- {
- return *(CEdit*)GetDlgItem(IDC_LDRILL_SIZE);
- }
-
- void CSaveAsBitmapDialog::OnBrowse()
- {
- // gets the current state of the controls
- UpdateData(TRUE);
-
- CFileDialog dlg(false, "bmp", m_szFname,
- OFN_OVERWRITEPROMPT | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY,
- "Bitmap Files (*.bmp)|*.bmp|All Files (*.*)|*.*||",
- this
- );
- if(dlg.DoModal() == IDOK) {
- ctlFname().SetWindowText(dlg.GetPathName());
- }
- }
-
- void CSaveAsBitmapDialog::OnLimitDrillFlag()
- {
- ctlLimitDrillSize().EnableWindow(ctlLimitDrillFlag().GetCheck());
- }
-
- void CSaveAsBitmapDialog::OnChangeDpi()
- {
- // TODO: Add your control notification handler code here
- }
-
- BOOL CSaveAsBitmapDialog::OnInitDialog()
- {
- CDialog::OnInitDialog();
- ctlLimitDrillSize().EnableWindow(m_bLimitDrillFlag);
- return TRUE;
- }
-
- void CSaveAsBitmapDialog::OnOK()
- {
- CDialog::OnOK();
- m_sbinfo.m_dpi = m_nDPI;
- m_sbinfo.m_fname = m_szFname;
- m_sbinfo.m_limit_drill = m_bLimitDrillFlag;
- m_sbinfo.m_limit_drill_size = m_nLimitDrillSize;
- m_sbinfo.m_fill = m_bFill;
- m_sbinfo.m_hole = m_bHole;
- m_sbinfo.m_layer[LAYER_PATTERN_COMMON] = m_bPCommon;
- m_sbinfo.m_layer[LAYER_PATTERN_TOP ] = m_bPTop ;
- m_sbinfo.m_layer[LAYER_PATTERN_BOTTOM] = m_bPBottom;
- m_sbinfo.m_layer[LAYER_SILK_TOP ] = m_bSTop ;
- m_sbinfo.m_layer[LAYER_SILK_BOTTOM ] = m_bSBottom;
- }
- const SAVEASBMP_INFO& CSaveAsBitmapDialog::GetResult()
- {
- return m_sbinfo;
- }
-